A Concurrency Testing Tool and Its Plug-Ins for Dynamic Analysis and Runtime Healing
نویسندگان
چکیده
This report presents a tool for concurrency testing (abbreviated as ConTest) and some of its extensions. The extensions (called plug-ins in this report) are implemented through the listener architecture of ConTest. Two plugins for runtime detection of common concurrent bugs are presented—the first (Eraser+) is able to detect data races while the second (AtomRace) is able to detect not only data races but also more general bugs caused by violation of atomicity presumptions. A third plug-in presented in this report is designed for hiding bugs that made it into the field so that when problems are detected they can be circumvented. Several experiments demonstrate the capabilities of these plug-ins.
منابع مشابه
Guided Testing of Concurrent Programs Using Value Schedules
Testing concurrent programs remains a difficult task due to the non-deterministic nature of concurrent execution. Many approaches have been proposed to tackle the complexity of uncovering potential concurrency bugs. Static analysis tackles the problem by analyzing a concurrent program looking for situations/patterns that might lead to possible errors during execution. In general, static analysi...
متن کاملDevelopment, Deployment, and Rating of Plug-Ins
In this paper, we present a lightweight but powerful plug-in container which provides advanced features such as dynamic class loading, dependency, configuration, and security management. We highlight the deployment mechanism which allows to publish, install, and update plug-ins from arbitrary sources at runtime. Furthermore, we introduce the Trooth voting and trust system which is used to asses...
متن کاملTHAPS: Automated Vulnerability Scanning of PHP Applications
In this paper we describe the THAPS vulnerability scanner for PHP web applications. THAPS is based on symbolic execution of PHP with specialised support for scanning extensions and plug-ins of larger application frameworks. We further show how THAPS can integrate the results of dynamic analyses, generated by a customised web crawler, into the static analysis. This enables analysis of often used...
متن کاملModeling Dynamic Architectures Using Nets-Within-Nets
Current modeling techniques are not well equipped to design dynamic software architectures. In this work we present the basic concepts for a dynamic architecture modeling using nets-within-nets. Netswithin-nets represent a powerful formalism that allows active elements, i.e. nets, to be nested in arbitrary and dynamically changeable hierarchies. Applying the concepts from nets-within-nets, ther...
متن کاملWaterfall: Primitives Generation on the Fly
Modern languages are typically supported by managed runtimes (Virtual Machines). Since VMs have to deal with many concepts such as memory management, abstract execution model and scheduling, they tend to be very complex. Additionally, VMs have to meet strong performance requirements. This demand of performance is one of the main reasons why many VMs are built statically. Thus, design decisions ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009